1 Public Class Frm_Calculator
2
3 Dim sign_Indicator As Integer = 0
4 Dim variable1 As Double
5 Dim variable2 As Double
6 Dim addBit As Integer = 0
7 Dim subBit As Integer = 0
8 Dim multBit As Integer = 0
9 Dim divBit As Integer = 0
10 Dim modBit As Integer = 0
11 Dim powerBit As Integer = 0
12 Dim permBit As Integer = 0
13 Dim combBit As Integer = 0
14 Dim andBit As Integer = 0
15 Dim orBit As Integer = 0
16 Dim xorBit As Integer = 0
17 Dim powerFunctionBit As Integer = 0
18 Dim trigFunctionBit As Integer = 0
19 Dim HypertrigFunctionBit As Integer = 0
20 Dim InversetrigFunctionBit As Integer = 0
21 Dim otherFuncsBit As Integer = 0
22 Dim logicalFuncsBit As Integer = 0
23 Dim memFuncsBit As Integer = 0
24 Dim fl As Integer = 0
25 Dim memoryVariable As Double = 0
26 Dim scientificModeBit As Integer = 0
27
28 Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
29 If sign_Indicator = 0 Then
30 displayText.Text = displayText.Text & CStr(0)
31 ElseIf sign_Indicator = 1 Then
32 displayText.Text = 0
33 sign_Indicator = 0
34 End If
35 fl = 1
36 End Sub
37
38 Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
39 If sign_Indicator = 0 Then
40 displayText.Text = displayText.Text & CStr(1)
41 ElseIf sign_Indicator = 1 Then
42 displayText.Text = 1
43 sign_Indicator = 0
44 End If
45 fl = 1
46 End Sub
47
48 Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
49 If sign_Indicator = 0 Then
50 displayText.Text = displayText.Text & CStr(2)
51 ElseIf sign_Indicator = 1 Then
52 displayText.Text = 2
53 sign_Indicator = 0
54 End If
55 fl = 1
56 End Sub
57
58 Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
59 If sign_Indicator = 0 Then
60 displayText.Text = displayText.Text & CStr(3)
61 ElseIf sign_Indicator = 1 Then
62 displayText.Text = 3
63 sign_Indicator = 0
64 End If
65 fl = 1
66 End Sub
67
68 Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
69 If sign_Indicator = 0 Then
70 displayText.Text = displayText.Text & CStr(4)
71 ElseIf sign_Indicator = 1 Then
72 displayText.Text = 4
73 sign_Indicator = 0
74 End If
75 fl = 1
76 End Sub
77
78 Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
79 If sign_Indicator = 0 Then
80 displayText.Text = displayText.Text & CStr(5)
81 ElseIf sign_Indicator = 1 Then
82 displayText.Text = 5
83 sign_Indicator = 0
84 End If
85 fl = 1
86 End Sub
87
88 Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
89 If sign_Indicator = 0 Then
90 displayText.Text = displayText.Text & CStr(6)
91 ElseIf sign_Indicator = 1 Then
92 displayText.Text = 6
93 sign_Indicator = 0
94 End If
95 fl = 1
96 End Sub
97
98 Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
99 If sign_Indicator = 0 Then
100 displayText.Text = displayText.Text & CStr(7)
101 ElseIf sign_Indicator = 1 Then
102 displayText.Text = 7
103 sign_Indicator = 0
104 End If
105 fl = 1
106 End Sub
107
108 Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
109 If sign_Indicator = 0 Then
110 displayText.Text = displayText.Text & CStr(8)
111 ElseIf sign_Indicator = 1 Then
112 displayText.Text = 8
113 sign_Indicator = 0
114 End If
115 fl = 1
116 End Sub
117
118 Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
119 If sign_Indicator = 0 Then
120 displayText.Text = displayText.Text & CStr(9)
121 ElseIf sign_Indicator = 1 Then
122 displayText.Text = 9
123 sign_Indicator = 0
124 End If
125 fl = 1
126 End Sub
127
128 Private Sub displayText_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles displayText.KeyPress
129 e.Handled = True
130 If e.KeyChar Like "[0-9]" Or e.KeyChar = Chr(&H8) Then
131 e.Handled = False
132 End If
133 End Sub
134
135 Private Sub btnSign_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSign.Click
136 If displayText.Text.Length = 0 Then
137 displayText.Text = displayText.Text + CStr("-")
138 ElseIf displayText.Text <> "." Then
139 displayText.Text = displayText.Text * -1
140 End If
141 End Sub
142
143 Private Sub btnClearAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClearAll.Click
144 displayText.Clear()
145 sign_Indicator = 0
146 variable1 = 0
147 variable2 = 0
148 memoryVariable = 0
149 reset_SignBits()
150 End Sub
151
152 Private Sub btnClearTextbox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClearTextbox.Click
153 displayText.Clear()
154 End Sub
155
156 Private Function reset_SignBits()
157 addBit = 0
158 subBit = 0
159 multBit = 0
160 divBit = 0
161 modBit = 0
162 powerBit = 0
163 permBit = 0
164 combBit = 0
165 andBit = 0
166 orBit = 0
167 xorBit = 0
168 fl = 0
169 Return 0
170 End Function
171
172 Private Function permutation(ByVal variable1, ByVal variable2)
173 Dim result As Double
174 result = Factorial(variable1) / Factorial(variable1 - variable2)
175 Return result
176 End Function
177
178 Private Function combination(ByVal variable1, ByVal variable2)
179 Dim result As Double
180 result = Factorial(variable1) / (Factorial(variable2) * Factorial(variable1 - variable2))
181 Return result
182 End Function
183
184 Private Function Calculate()
185 If displayText.Text <> "." Then
186
187 variable2 = displayText.Text
188 If fl = False Then
189 variable1 = variable2
190 ElseIf addBit = 1 Then
191 variable1 = variable1 + variable2
192 ElseIf subBit = 1 Then
193 variable1 = variable1 - variable2
194 ElseIf multBit = 1 Then
195 variable1 = variable1 * variable2
196 ElseIf divBit = 1 Then
197 variable1 = variable1 / variable2
198 ElseIf modBit = 1 Then
199 variable1 = variable1 Mod variable2
200 ElseIf powerBit = 1 Then
201 variable1 = Math.Pow(variable1, variable2)
202 ElseIf permBit = 1 Then
203 variable1 = permutation(variable1, variable2)
204 ElseIf combBit = 1 Then
205 variable1 = combination(variable1, variable2)
206 ElseIf andBit = 1 Then
207 variable1 = variable1 And variable2
208 ElseIf orBit = 1 Then
209 variable1 = variable1 Or variable2
210 ElseIf xorBit = 1 Then
211 variable1 = variable1 Xor variable2
212 Else
213 variable1 = variable2
214 End If
215 displayText.Text = CStr(variable1)
216
217 End If
218 Return 0
219 End Function
220
221 Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
222 If displayText.Text.Length <> 0 Then
223 Calculate()
224 reset_SignBits()
225 addBit = 1
226 sign_Indicator = 1
227 End If
228 End Sub
229
230 Private Sub btnSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSub.Click
231
232 If displayText.Text.Length <> 0 Then
233 variable2 = displayText.Text
234 Calculate()
235 reset_SignBits()
236 subBit = 1
237 sign_Indicator = 1
238 End If
239 End Sub
240
241 Private Sub btnMult_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMult.Click
242 If displayText.Text.Length <> 0 Then
243 Calculate()
244 reset_SignBits()
245 multBit = 1
246 sign_Indicator = 1
247 End If
248 End Sub
249
250 Private Sub btnDiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDiv.Click
251 If displayText.Text.Length <> 0 Then
252 Calculate()
253 reset_SignBits()
254 divBit = 1
255 sign_Indicator = 1
256 End If
257 End Sub
258
259 Private Sub btnModulus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModulus.Click
260 If displayText.Text.Length <> 0 Then
261 Calculate()
262 reset_SignBits()
263 modBit = 1
264 sign_Indicator = 1
265 End If
266 End Sub
267
268 Private Sub btnPower_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPower.Click
269 If displayText.Text.Length <> 0 Then
270 Calculate()
271 reset_SignBits()
272 powerBit = 1
273 sign_Indicator = 1
274 End If
275 End Sub
276
277 Private Sub btnPerm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPerm.Click
278 If displayText.Text.Length <> 0 Then
279 Calculate()
280 reset_SignBits()
281 permBit = 1
282 sign_Indicator = 1
283 End If
284 End Sub
285
286 Private Sub btnComb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnComb.Click
287 If displayText.Text.Length <> 0 Then
288 Calculate()
289 reset_SignBits()
290 combBit = 1
291 sign_Indicator = 1
292 End If
293 End Sub
294
295 Private Sub btnAnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnd.Click
296 If displayText.Text.Length <> 0 Then
297 Calculate()
298 reset_SignBits()
299 AndBit = 1
300 sign_Indicator = 1
301 End If
302 End Sub
303
304 Private Sub btnOr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOr.Click
305 If displayText.Text.Length <> 0 Then
306 Calculate()
307 reset_SignBits()
308 OrBit = 1
309 sign_Indicator = 1
310 End If
311 End Sub
312
313 Private Sub btnNot_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNot.Click
314 If displayText.Text.Length <> 0 Then
315 variable1 = CDbl(displayText.Text)
316 variable1 = Not variable1
317 displayText.Text = CStr(variable1)
318 sign_Indicator = 1
319 End If
320 End Sub
321
322 Private Sub btnXor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXor.Click
323 If displayText.Text.Length <> 0 Then
324 Calculate()
325 reset_SignBits()
326 xorBit = 1
327 sign_Indicator = 1
328 End If
329 End Sub
330
331 Private Sub btnEqual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEqual.Click
332
333 If displayText.Text.Length <> 0 Then
334 Calculate()
335 reset_SignBits()
336 End If
337 sign_Indicator = 1
338 End Sub
339
340 Private Sub btnDecimal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecimal.Click
341 Dim i As Integer
342 Dim chr As Char
343 Dim decimal_Indicator As Integer = 0
344
345 If sign_Indicator <> 1 Then
346 For i = 0 To displayText.Text.Count - 1
347 chr = displayText.Text(i)
348 If chr = "." Then
349 decimal_Indicator = 1
350 End If
351 Next
352
353 If decimal_Indicator <> 1 Then
354 displayText.Text = displayText.Text & CStr(".")
355 End If
356 End If
357 End Sub
358
359 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
360 lblTime.Text = TimeString
361 End Sub
362
363 Private Sub btnMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMenu.Click
364 btnClose.Visible = 1
365 lblTime.Visible = 1
366 gbMain1.Visible = 1
367 btnTime.Visible = True
368 btnColour.Visible = True
369 btna.Visible = 1
370 btnb.Visible = 1
371 btnc.Visible = 1
372 End Sub
373
374 Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
375 lblTime.Visible = 0
376 btnClose.Visible = 0
377 btnTime.Visible = 0
378 gbMain1.Visible = 0
379 btna.Visible = 0
380 btnb.Visible = 0
381 btnc.Visible = 0
382 End Sub
383
384 Private Sub btna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btna.Click
385 BackColor = Color.DimGray
386 btn0.BackColor = Color.Chocolate
387 btn1.BackColor = Color.Chocolate
388 btn2.BackColor = Color.Chocolate
389 btn3.BackColor = Color.Chocolate
390 btn4.BackColor = Color.Chocolate
391 btn5.BackColor = Color.Chocolate
392 btn6.BackColor = Color.Chocolate
393 btn7.BackColor = Color.Chocolate
394 btn8.BackColor = Color.Chocolate
395 btn9.BackColor = Color.Chocolate
396 End Sub
397
398 Private Sub btnb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnb.Click
399 BackColor = Color.SlateGray
400 btn0.BackColor = Color.DimGray
401 btn1.BackColor = Color.DimGray
402 btn2.BackColor = Color.DimGray
403 btn3.BackColor = Color.DimGray
404 btn4.BackColor = Color.DimGray
405 btn5.BackColor = Color.DimGray
406 btn6.BackColor = Color.DimGray
407 btn7.BackColor = Color.DimGray
408 btn8.BackColor = Color.DimGray
409 btn9.BackColor = Color.DimGray
410 End Sub
411
412 Private Sub btnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnc.Click
413 BackColor = Color.Black
414 btn0.BackColor = Color.DarkRed
415 btn1.BackColor = Color.DarkRed
416 btn2.BackColor = Color.DarkRed
417 btn3.BackColor = Color.DarkRed
418 btn4.BackColor = Color.DarkRed
419 btn5.BackColor = Color.DarkRed
420 btn6.BackColor = Color.DarkRed
421 btn7.BackColor = Color.DarkRed
422 btn8.BackColor = Color.DarkRed
423 btn9.BackColor = Color.DarkRed
424 End Sub
425
426 Private Sub btnBackSpace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackSpace.Click
427 If displayText.Text.Length <> 0 Then
428 displayText.Text = displayText.Text.Remove(displayText.Text.Length - 1, 1)
429 End If
430 End Sub
431
432 Private Sub btnInverse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInverse.Click
433 If displayText.Text.Length <> 0 Then
434 displayText.Text = 1 / displayText.Text
435 End If
436 End Sub
437
438 Private Sub btnSin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSin.Click
439 If displayText.Text.Length <> 0 Then
440 displayText.Text = Math.Sin(displayText.Text)
441 End If
442 sign_Indicator = 1
443 End Sub
444
445 Private Sub btnCos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCos.Click
446 If displayText.Text.Length <> 0 Then
447 displayText.Text = Math.Cos(displayText.Text)
448 End If
449 sign_Indicator = 1
450 End Sub
451
452 Private Sub btnTan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTan.Click
453 If displayText.Text.Length <> 0 Then
454 displayText.Text = Math.Tan(displayText.Text)
455 End If
456 sign_Indicator = 1
457 End Sub
458
459 Private Sub btnPI_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPI.Click
460 displayText.Text = Math.PI
461 sign_Indicator = 1
462 End Sub
463
464 Private Sub btnSinh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSinh.Click
465 If displayText.Text.Length <> 0 Then
466 displayText.Text = Math.Sinh(displayText.Text)
467 End If
468 sign_Indicator = 1
469 End Sub
470
471 Private Sub btnCosh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCosh.Click
472 If displayText.Text.Length <> 0 Then
473 displayText.Text = Math.Cosh(displayText.Text)
474 End If
475 sign_Indicator = 1
476 End Sub
477
478 Private Sub btnTanh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTanh.Click
479 If displayText.Text.Length <> 0 Then
480 displayText.Text = Math.Tanh(displayText.Text)
481 End If
482 sign_Indicator = 1
483 End Sub
484
485 Private Sub btnlog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlog.Click
486 If displayText.Text.Length <> 0 Then
487 displayText.Text = Math.Log10(displayText.Text)
488 End If
489 sign_Indicator = 1
490 End Sub
491
492 Private Sub btnln_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnln.Click
493 If displayText.Text.Length <> 0 Then
494 displayText.Text = Math.Log(displayText.Text)
495 End If
496 sign_Indicator = 1
497 End Sub
498
499 Private Sub btne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btne.Click
500 displayText.Text = Math.E
501 sign_Indicator = 1
502 End Sub
503
504 Private Sub btnex_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnex.Click
505 If displayText.Text.Length <> 0 Then
506 displayText.Text = Math.Exp(displayText.Text)
507 End If
508 sign_Indicator = 1
509 End Sub
510
511 Private Sub btnsqrt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsqrt.Click
512 If displayText.Text.Length <> 0 Then
513 If displayText.Text <> "." Then
514 displayText.Text = Math.Sqrt(displayText.Text)
515 End If
516 sign_Indicator = 1
517 End If
518 End Sub
519
520 Private Sub btnRound_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRound.Click
521 If displayText.Text.Length <> 0 Then
522 Dim temp As Double = displayText.Text
523 displayText.Text = Math.Round(temp)
524 End If
525 sign_Indicator = 1
526 End Sub
527
528 Private Sub btnTruncate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTruncate.Click
529 If displayText.Text.Length <> 0 Then
530 Dim temp As Double = displayText.Text
531 displayText.Text = Math.Truncate(temp)
532 End If
533 sign_Indicator = 1
534 End Sub
535
536 Private Sub btnCeil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCeil.Click
537 If displayText.Text.Length <> 0 Then
538 Dim temp As Double = displayText.Text
539 displayText.Text = Math.Ceiling(temp)
540 End If
541 sign_Indicator = 1
542 End Sub
543
544 Private Sub btnFloor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFloor.Click
545 If displayText.Text.Length <> 0 Then
546 Dim temp As Double = displayText.Text
547 displayText.Text = Math.Floor(temp)
548 End If
549 sign_Indicator = 1
550 End Sub
551
552 Public Function Factorial(ByVal temp)
553 Dim result As Double = temp
554 If temp = 0 Then
555 Return 1
556 Else
557 For i = temp - 1 To 1 Step -1
558 result = result * i
559 Next
560 End If
561 Return result
562 End Function
563
564 Private Sub btnFact_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFact.Click
565 If displayText.Text.Length <> 0 Then
566 Dim temp As Double = displayText.Text
567 Dim result = Factorial(temp)
568 displayText.Text = CStr(result)
569 End If
570 sign_Indicator = 1
571 End Sub
572
573
574 Private Sub btnSquare_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSquare.Click
575 If displayText.Text.Length <> 0 Then
576 displayText.Text = displayText.Text * displayText.Text
577 End If
578 sign_Indicator = 1
579 End Sub
580
581 Private Sub btnCube_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCube.Click
582 If displayText.Text.Length <> 0 Then
583 displayText.Text = displayText.Text * displayText.Text * displayText.Text
584 End If
585 sign_Indicator = 1
586 End Sub
587
588 Private Sub btnxPower4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnxPower4.Click
589 If displayText.Text.Length <> 0 Then
590 displayText.Text = displayText.Text * displayText.Text * displayText.Text * displayText.Text
591 End If
592 sign_Indicator = 1
593 End Sub
594
595 Private Sub btnScientificMode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScientificMode.Click
596 If scientificModeBit = 0 Then
597 btnFact.Enabled = 1
598 btnPerm.Enabled = 1
599 btnComb.Enabled = 1
600 btnPI.Enabled = 1
601 btnsqrt.Enabled = 1
602 btnlog.Enabled = 1
603 btnex.Enabled = 1
604 btnln.Enabled = 1
605 btnInverse.Enabled = 1
606 btnModulus.Enabled = 1
607 btne.Enabled = 1
608 btnPower.Enabled = 1
609 btnSquare.Enabled = 1
610 btnCube.Enabled = 1
611 btnxPower4.Enabled = 1
612 btnAnd.Enabled = 1
613 btnOr.Enabled = 1
614 btnNot.Enabled = 1
615 btnXor.Enabled = 1
616 btnSin.Enabled = 1
617 btnCos.Enabled = 1
618 btnTan.Enabled = 1
619 btnSinh.Enabled = 1
620 btnCosh.Enabled = 1
621 btnTanh.Enabled = 1
622 btnInvSin.Enabled = 1
623 btnInvCos.Enabled = 1
624 btnInvTan.Enabled = 1
625 btnRound.Enabled = 1
626 btnFloor.Enabled = 1
627 btnTruncate.Enabled = 1
628 btnCeil.Enabled = 1
629 btnM.Enabled = 1
630 btnMplus.Enabled = 1
631 btnMminus.Enabled = 1
632
633 scientificModeBit = 1
634 ElseIf scientificModeBit = 1 Then
635 btnFact.Enabled = 0
636 btnPerm.Enabled = 0
637 btnComb.Enabled = 0
638 btnPI.Enabled = 0
639 btnsqrt.Enabled = 0
640 btnlog.Enabled = 0
641 btnex.Enabled = 0
642 btnln.Enabled = 0
643 btnInverse.Enabled = 0
644 btnModulus.Enabled = 0
645 btne.Enabled = 0
646 btnPower.Enabled = 0
647 btnSquare.Enabled = 0
648 btnCube.Enabled = 0
649 btnxPower4.Enabled = 0
650 btnAnd.Enabled = 0
651 btnOr.Enabled = 0
652 btnNot.Enabled = 0
653 btnXor.Enabled = 0
654 btnSin.Enabled = 0
655 btnCos.Enabled = 0
656 btnTan.Enabled = 0
657 btnSinh.Enabled = 0
658 btnCosh.Enabled = 0
659 btnTanh.Enabled = 0
660 btnInvSin.Enabled = 0
661 btnInvCos.Enabled = 0
662 btnInvTan.Enabled = 0
663 btnRound.Enabled = 0
664 btnFloor.Enabled = 0
665 btnTruncate.Enabled = 0
666 btnCeil.Enabled = 0
667 btnM.Enabled = 0
668 btnMplus.Enabled = 0
669 btnMminus.Enabled = 0
670
671 scientificModeBit = 0
672 End If
673 End Sub
674
675 Private Sub btnPowerFunctions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPowerFunctions.Click
676 If powerFunctionBit = 0 Then
677 btnPower.Enabled = 1
678 btnSquare.Enabled = 1
679 btnCube.Enabled = 1
680 btnxPower4.Enabled = 1
681 powerFunctionBit = 1
682
683 ElseIf powerFunctionBit = 1 Then
684 btnPower.Enabled = 0
685 btnSquare.Enabled = 0
686 btnCube.Enabled = 0
687 btnxPower4.Enabled = 0
688 powerFunctionBit = 0
689 End If
690 End Sub
691
692 Private Sub btnTrignometric_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTrignometric.Click
693 If trigFunctionBit = 0 Then
694 btnSin.Enabled = 1
695 btnCos.Enabled = 1
696 btnTan.Enabled = 1
697 trigFunctionBit = 1
698
699 ElseIf trigFunctionBit = 1 Then
700 btnSin.Enabled = 0
701 btnCos.Enabled = 0
702 btnTan.Enabled = 0
703 trigFunctionBit = 0
704 End If
705 End Sub
706
707 Private Sub btnInverseTrigFuncs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInverseTrigFuncs.Click
708 If InversetrigFunctionBit = 0 Then
709 btnInvSin.Enabled = 1
710 btnInvCos.Enabled = 1
711 btnInvTan.Enabled = 1
712 InversetrigFunctionBit = 1
713 ElseIf InversetrigFunctionBit = 1 Then
714 btnInvSin.Enabled = 0
715 btnInvCos.Enabled = 0
716 btnInvTan.Enabled = 0
717 InversetrigFunctionBit = 0
718 End If
719 End Sub
720
721 Private Sub btnHyperbolicTrig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHyperbolicTrig.Click
722 If HypertrigFunctionBit = 0 Then
723 btnSinh.Enabled = 1
724 btnCosh.Enabled = 1
725 btnTanh.Enabled = 1
726 HypertrigFunctionBit = 1
727
728 ElseIf HypertrigFunctionBit = 1 Then
729 btnSinh.Enabled = 0
730 btnCosh.Enabled = 0
731 btnTanh.Enabled = 0
732 HypertrigFunctionBit = 0
733 End If
734 End Sub
735
736 Private Sub btnOtherFuncs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
737 If otherFuncsBit = 0 Then
738 btnRound.Enabled = 1
739 btnFloor.Enabled = 1
740 btnTruncate.Enabled = 1
741 btnCeil.Enabled = 1
742 otherFuncsBit = 1
743
744 ElseIf otherFuncsBit = 1 Then
745 btnRound.Enabled = 0
746 btnFloor.Enabled = 0
747 btnTruncate.Enabled = 0
748 btnCeil.Enabled = 0
749 otherFuncsBit = 0
750 End If
751 End Sub
752
753 Private Sub btnLogicalFuncs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogicalFuncs.Click
754 If logicalFuncsBit = 0 Then
755 btnAnd.Enabled = 1
756 btnOr.Enabled = 1
757 btnNot.Enabled = 1
758 btnXor.Enabled = 1
759 logicalFuncsBit = 1
760
761 ElseIf logicalFuncsBit = 1 Then
762 btnAnd.Enabled = 0
763 btnOr.Enabled = 0
764 btnNot.Enabled = 0
765 btnXor.Enabled = 0
766 logicalFuncsBit = 0
767 End If
768 End Sub
769
770 Private Sub btnMemFuncs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMemFuncs.Click
771 If memFuncsBit = 0 Then
772 btnM.Enabled = 1
773 btnMplus.Enabled = 1
774 btnMminus.Enabled = 1
775 memFuncsBit = 1
776
777 ElseIf memFuncsBit = 1 Then
778 btnM.Enabled = 0
779 btnMplus.Enabled = 0
780 btnMminus.Enabled = 0
781 memFuncsBit = 0
782 End If
783 End Sub
784
785 Private Sub btnInvSin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
786 If displayText.Text.Length <> 0 Then
787 displayText.Text = Math.Asin(displayText.Text)
788 End If
789 sign_Indicator = 1
790 End Sub
791
792 Private Sub btnInvCos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInvCos.Click
793 If displayText.Text.Length <> 0 Then
794 displayText.Text = Math.Acos(displayText.Text)
795 End If
796 sign_Indicator = 1
797 End Sub
798
799 Private Sub btnInvTan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInvTan.Click
800 If displayText.Text.Length <> 0 Then
801 displayText.Text = Math.Atan(displayText.Text)
802 End If
803 sign_Indicator = 1
804 End Sub
805
806 Private Sub btnM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnM.Click
807 If displayText.Text.Length <> 0 Then
808 If memoryVariable = 0 Then
809 memoryVariable = CDbl(displayText.Text)
810 End If
811 End If
812 sign_Indicator = 1
813 displayText.Text = CStr(memoryVariable)
814 End Sub
815
816 Private Sub btnMplus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMplus.Click
817 If memoryVariable <> 0 Then
818 memoryVariable = memoryVariable + memoryVariable
819 End If
820 sign_Indicator = 1
821 displayText.Text = CStr(memoryVariable)
822 End Sub
823
824 Private Sub btnMminus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMminus.Click
825 If memoryVariable <> 0 Then
826 memoryVariable = memoryVariable - memoryVariable
827 End If
828 sign_Indicator = 1
829 displayText.Text = CStr(memoryVariable)
830 End Sub
831
832 Private Sub Frm_Calculator_Load(sender As Object, e As EventArgs) Handles MyBase.Load
833
834 End Sub
835 End Class